package com.lo.service;

import com.github.pagehelper.PageInfo;
import com.lo.common.JsonResult;
import com.lo.entity.User;

public interface UserService {
    JsonResult login(String username,String password);
    //教师服务层迁移函数
    PageInfo page(int pageNum, int pageSize,Long id,String search);
    //教师服务层迁移函数
    PageInfo NotExamineCoursePage(int pageNum, int pageSize,Long id,String search);

    JsonResult register(User user);

    JsonResult selectUserMessage(String username);

    JsonResult updateUserMessage(User user);

    //查询所有用户
    PageInfo selectAllUsers(int pageNum, int pageSize, String search);
    //查询所有老师用户
    PageInfo selectAllTeachers(int pageNum, int pageSize, String search);
    //设置禁用状态
    JsonResult setUserBanned(Long id);
    //取消禁用状态
    JsonResult setUserEnable(Long id);

    JsonResult userCount();

    JsonResult userOrdinaryCount();

    JsonResult userVipCount();

    //教师统计迁移函数
    JsonResult teacherCount();

    JsonResult teacherOrdinaryCount();

    JsonResult teacherVipCount();

    JsonResult refuseToTeacher(Long id);


    JsonResult launchToTeacher(User user);

    JsonResult acceptToTeacher(Long id);

    PageInfo launchingTeacher(int pageNum, int pageSize, String search);

    JsonResult signOutUser(Long id);

    JsonResult resetUserPassword(User user);
    //关注功能函数接口
    JsonResult isFollowed(Long followId,Long userId);
    JsonResult follow(Long followId,Long userId);
    JsonResult unFollow(Long followId,Long userId);
    JsonResult myFollows(Long userId);
    JsonResult myFans(Long userId);
    JsonResult myFollowCount(Long userId);
    JsonResult myFansCount(Long userId);


    PageInfo myTextPages(int pageNum, int pageSize, Long id, String search);

    PageInfo myExaminingTextPages(int pageNum, int pageSize, Long id, String search);

    JsonResult selectUserById(Long id);

    JsonResult selectMyFollowCourse(Long id);
}
